<!-- 機能：会議室予約 -->
<?php 
// セッションの始め
@session_start();
// ユーザかどうかチェックします
include '../Security/CheckUser.php';
include '../Home/DefineVar.php';
include '../DataBase/ConnectDB.php';
 mysql_select_db(MYSQL_DATABASE,$link);
 if(!$link){
  print("<br> <script type='text/javascript'> alert('".MYSQL_DATABASE." ".SQL_ERR_MESS."');  window.location ='../User/BookRoom.php';</script>");
}
// 予約時間をチェックします。
function CheckTime($StartTime, $EndTime){
	// スタートタイムはエンドタイムより多きの場合。
	if($StartTime >= $EndTime){
		return false;
	}
	// 最大の予約できる時間を計算します。
	$MaxTimeOrder = time() + MAX_YEAR_ORDER*365*24*60*60;
	//　エンドタイムは最大な時間より多きの場合。
	if($EndTime > $MaxTimeOrder) return false;
	// スタートタイムとエンドタイムは時間の単位の通りではない場合。
	if(($EndTime%(MINUTE_UNIT*60))!=0 || ($StartTime%(MINUTE_UNIT*60))!=0) return false;
	// スタートタイムは
	if($StartTime < (time() - MINUTE_UNIT*60)) return false;
	
	return true;
}
?>
<?php
// 予約の情報を受け取ります。
$RoomName=mysql_real_escape_string($_POST['RoomName']);
$StartDay=explode("/",$_POST["startDay"]);
$EndDay=explode("/",$_POST["endDay"]);
$StartTime=mktime($_POST["startTimeH"],$_POST["startTimeM"],0,$StartDay[1],$StartDay[2],$StartDay[0]);
$EndTime=mktime($_POST["stopTimeH"],$_POST["stopTimeM"],0,$EndDay[1],$EndDay[2],$EndDay[0]);
 
// 予約時間は予約されたかどうかチェックします。
 $OderedResult = mysql_query("SELECT * FROM ".MYSQL_TABLE_ORDER." WHERE roomname = '".$RoomName."' 
 							AND orderstatus ='1' AND (( '".date("Y-m-d G:i:s",$StartTime)."' <= 
 							starttime AND '".date("Y-m-d G:i:s",$EndTime)."' > starttime ) 
 							OR ( '".date("Y-m-d G:i:s",$StartTime)."' >= starttime 
 							AND endtime > '".date("Y-m-d G:i:s",$StartTime)."' ))",$link);
 
 // 予約ができない場合、
 if(mysql_fetch_array($OderedResult) || !CheckTime($StartTime, $EndTime)){
 	print("<br> <script type='text/javascript'> alert('".TIME_ERR_MESS."');  
 			window.location ='../User/BookRoom.php';</script>");
 	exit();
 }
 //　使用料と予約手数料を抽出します。
 $result=mysql_query("SELECT usingcost, orderfee FROM ".MYSQL_TABLE_ROOMINFOR." WHERE roomname = '".$RoomName."' AND roomstatus ='1'",$link);
 if(mysql_num_rows($result)!=0){
	$row=mysql_fetch_array($result);
	// 使用料を合計します。
	$fee = $row[0]*($EndTime - $StartTime)/(60*30);
	// データベースに予約情報をインサートします。
 	$result=mysql_query("INSERT INTO ".MYSQL_TABLE_ORDER."(accountname, roomname, ordertime, starttime, endtime, orderfee, fee)
 		 VALUES('".$_SESSION['user'].$_SESSION['admin']."','".$RoomName."', '".date("Y-m-d")."', '".date("Y-m-d G:i:s",$StartTime)."',
 		  '".date("Y-m-d G:i:s",$EndTime)."', '".$row[1]."', '".$fee."')",$link);
 }
 // 予約ができない場合。
if(!$result){
  	print("<br><script type='text/javascript'> alert('".ORDER_ERR_MESS."'); window.location ='../User/BookRoom.php';</script>");
  	exit();
}
//　予約が成功の場合。
print("<br><script type='text/javascript'> alert('".ORDER_OK_MESS."'); window.location ='../User/BookRoom.php';</script> ");
  
mysql_close($link);
?>